import Vue from 'vue'

import 'normalize.css/normalize.css' // A modern alternative to CSS resets

// 对 Element 进行导入
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
// import locale from 'element-ui/lib/locale/lang/en' // lang i18n

// 全局样式文件
import '@/styles/index.scss' // global css

// 导入根组件
import App from './App'
// 导入 Vuex store 数据仓库
import store from './store'
// 导入 路由
import router from './router'

import '@/icons' // icon
// 配置权限的地方，例如：导航守卫
import '@/permission' // permission control

// 导入组件
import PageTools from '@/components/PageTools'
// 注册组件
Vue.component('PageTools', PageTools)

// 导入全局挂载的组件
import Components from './components'
Vue.use(Components)

// 导入全局挂载的组件
import Directive from './directive'
Vue.use(Directive)

// 多语言配置
import i18n from '@/lang'

/**
 * 在公司中开发，前端和后端一般是同时开发
 * 有时候，后端业务还没有开发好，没有办法给前端提供数据的
 * 这时候前端已经开发好了，需要使用数据，但是后端没有提供
 *
 * 前端需要模拟后端返回的接口、数据、字段等等，先行进行开发
 * 等后端开发好业务以后，给前端提供数据以后，在替换成真正的后端接口数据
 */
// if (process.env.NODE_ENV === 'production') {
//   const { mockXHR } = require('../mock')
//   mockXHR()
// }

// 挂载 ElementUI 为 Vue 插件，并设置语言
// Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui，按如下方式声明
Vue.use(ElementUI)

Vue.config.productionTip = false

// 创建 Vue 实例
new Vue({
  el: '#app',
  router,
  store,
  i18n,
  render: h => h(App)
})
